package ai.people.core.nebula.request;

import ai.people.netmon.framework.constant.GraphDirection;
import com.people.core.validator.annotation.StringStatusValue;
import lombok.Data;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.util.Collections;
import java.util.List;

/**
 * path request
 *
 * @author zhenglin
 * @date 2022/4/12
 */
@Data
public class GraphPathRequest {
    /**
     * vid
     */
    @NotBlank(message = "vid不能为空")
    private String vid;
    /**
     * 步数
     *
     * @mock 1
     */
    @Min(value = 1, message = "步数最小为{value}")
    private Integer steps = 1;
    /**
     * 限制数量
     *
     * @mock 100
     */
    private Integer limit;

    /**
     * 方向 FROM TO
     *
     * @mock FROM
     */
    @StringStatusValue(values = {GraphDirection.FROM,GraphDirection.TO,GraphDirection.BOTH},message = "方向值非法")
    private String direction = GraphDirection.FROM;
    /**
     * 边
     */
    private List<String> edges = Collections.emptyList();

}
